Career 2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2007
All Rounds Final 1/2 1/4 First Second Third Fourth Pre-q Rubber 1 Rubber 2 Rubber 3 Rubber 4 Rubber 5 Robin Bronze Q3 N/A Q2 Q1 ER Q4 CR QF Q5 N/A
All Courts Acrylic N/A Clay Grass Carpet Hard I.hard
All Tour Troyes Challenger Prague 3 Challenger U.S. Open - New York Zhuhai Open - Zhuhai Shenzhen 1 Challenger Shenzhen 2 Challenger Davis Cup, World Group, QF, CAN-FIN 1-2 Sofia Open - Sofia Valencia Challenger Oeiras 1 Challenger Oeiras 2 Challenger Australian Open - Melbourne Cherbourg Challenger ABN AMRO Open - Rotterdam Tenerife 2 Challenger Nottingham Challenger BNP Paribas Open - Indian Wells Barcelona Challenger M25 Quinta Do Lago M25 Badalona M25 Tarragona M25 Vale do Lobo M25 Montauban M25 Mataro Zagreb Challenger Francavilla Challenger cinch Championships - London Libema Open - 's-Hertogenbosch M25 Bourg-en-Bresse Troyes Challenger M25 Gandia M25 Denia Cordenons Challenger Dobrich 2 Challenger Porto 2 Challenger M25 Sabadell Tulln Challenger Sibiu Challenger Pau Challenger National Bank Open - Toronto Hersonissos 1 Challenger M15 Manacor M25 Sabadell Hersonissos 2 Challenger M25 Monastir Oeiras 1 Challenger M25 Santa Margherita di Pula Oeiras 2 Challenger Poznan Challenger M25 Badalona M25 Sabadell M25 Mataro Chisinau Challenger Troyes Challenger Hagen Challenger M25 Vic M25 Villeneuve-Loubet Canada F1 Canada F2 Canada F3 Italy F14 Italy F26 Canada F1 Canada F2 Canada F3 USA F9 Italy F25 Italy F28 Spain F35 Spain F37 Spain F38 Japan F10 Spain F39 Japan F11 USA F2 Guatemala F1 Costa Rica F1 Panama F1 Croatia F1 Croatia F2 Canada F2 Canada F3 Italy F3 Italy F4 Usa F7 Usa F8 Italy F10 Slovenia F2 Tunisia F1 Slovenia F3 Tunisia F2 Italy F15 Tunisia F3 Italy F16 Italy F17 Usa F16 Georgia F1 Usa F17 Georgia F2 Italy F22 Thailand F1 Italy F25 Thailand F2 Italy F26 Thailand F3 Italy F27 Turkey F13 Great Britain F2 Germany F3 France F2 Canada F2 Canada F3 Korea F2 Korea F3 Korea F4 Italy F7 Italy F12 Italy F13 Italy F14 Italy F17 Italy F19 Italy F20 Italy F22 Italy F23 Italy F25 Italy F26 Italy F27 Italy F28 Italy F29 Turkey F12 Turkey F13 Turkey F14 Turkey F15 Spain F40 Spain F4 Spain F5 Spain F6 Spain F7 Spain F8 Spain F9 Spain F10 Italy F7 Italy F11 Italy F13 Germany F9 Germany F10 Italy F23 Italy F24 Austria F8 Italy F26 Italy F30 Croatia F12 Croatia F13 Croatia F14 Turkey F32 Turkey F33 Turkey F34 Turkey F35 Egypt F1 Egypt F2 Spain F5 Spain F6 Turkey F12 Turkey F13 Turkey F14 Spain F8 Spain F9 Spain F10 Spain F11 Spain F12 Spain F14 Turkey F23 Turkey F24 Turkey F25 Turkey F41 Turkey F42 Turkey F46 Turkey F47 Turkey F48 Turkey F49 Turkey F7 Turkey F8 Turkey F9 Turkey F10 Turkey F11 Turkey F12 Spain F10 Italy F6 Spain F13 Spain F15 Spain F4 Spain F5 Italy F28 Turkey F43 Turkey F44 Spain F1 Spain F2 Spain F3 Spain F4 Tunisia F9 Tunisia F10 Tunisia F11 Italy F20 Italy F23 France F23 Great Britain F10 Switzerland F2 France F4 Romania F4 Italy F13 Italy F16 Czech Republic F4 France F13 Serbia F7 Portugal F12 Kazakhstan F1 (Aktobe) Kazakhstan F2 (Aktobe) Tunisia F9 (Hammamet) Italy F5 (Santa Margherita Di Pula) Italy F6 (Santa Margherita Di Pula) Italy F7 (Santa Margherita Di Pula) Italy F28 (Trieste) Italy F33 (Santa Margherita Di Pula) Italy F34 (Santa Margherita Di Pula) Italy F35 (Santa Margherita Di Pula) Greece F8 (Heraklion) Spain F2 (Manacor (Mallorca)) Spain F3 (Paguera (Mallorca)) Italy F2 (Santa Margherita Di Pula) Italy F3 (Santa Margherita Di Pula) Italy F5 (Santa Margherita Di Pula) Italy F7 (Santa Margherita Di Pula) Spain F9 (Madrid) Great Britain F1 Napoli Challenger Tulsa Challenger Tiburon Challenger Calabasas Challenger Belgrade Challenger Rimouski Challenger Napoli Challenger Rome Challenger Busan Challenger Carson Challenger Ojai Challenger Aptos Challenger Lexington Challenger Granby Challenger Orbetello Challenger Recanati Challenger Todi Challenger Ljubljana Challenger Napoli Challenger Casablanca Challenger San Benedetto Challenger Recanati Challenger San Marino Challenger Cordenons Challenger Segovia Challenger Como Challenger Istanbul Challenger Izmir Challenger Rome Challenger Furth Challenger Tanger Challenger Timisoara Challenger Scheveningen Challenger Tampere Challenger San Marino Challenger Meerbusch Challenger Como Challenger Brasov Challenger Seville Challenger Mons Challenger Tashkent Challenger Mouilleron-Le-Captif Challenger Casablanca Challenger Bergamo Challenger Panama City Challenger Barranquilla Challenger Rome Challenger Mestre Challenger Prague Challenger Marburg Challenger Todi Challenger Meerbusch Challenger Alphen Challenger Seville Challenger Meknes Challenger Kenitra Challenger Casablanca Challenger Rome Challenger Vicenza Challenger Furth Challenger Perugia Challenger Milan Challenger Marburg Challenger Todi Challenger San Benedetto Challenger Prague Challenger Manerbio Challenger Como Challenger Genova Challenger Trnava Challenger Rome Challenger Mohammedia Challenger Rennes Challenger Ortisei Challenger Bangkok Challenger Manila Challenger Bergamo Challenger Puebla Challenger Guadalajara Challenger San Luis Potosi Challenger St. Brieuc Challenger Barletta Challenger Ostrava Challenger Caltanissetta Challenger Tampere Challenger Prague Challenger Cortina Challenger Fano Challenger Cordenons Challenger Seville Challenger Sibiu Challenger Rome Challenger Casablanca Challenger Mouilleron-Le-Captif Challenger Brescia Challenger Cherbourg Challenger Bergamo Challenger Barletta Challenger Francavilla Challenger Ostrava Challenger Rome Challenger Heilbronn Challenger Vicenza Challenger Prostejov Challenger Lyon Challenger Marburg Challenger Perugia Challenger San Benedetto Challenger Biella Challenger Portoroz Challenger Cordenons Challenger Banja Luka Challenger Sibiu Challenger Rome Challenger Lille Challenger Alicante Challenger Ostrava Challenger Braga Challenger Lisbon Challenger Mestre Challenger Shymkent Challenger Blois Challenger Milan Challenger Recanati Challenger San Benedetto Challenger Prague Challenger Cordenons Challenger Como Challenger Seville Challenger Szczecin Challenger Biella Challenger Florence Challenger Barcelona Challenger Guayaquil Challenger Montevideo Challenger Noumea Challenger Burnie Challenger Launceston Challenger Bergamo Challenger Pau Challenger Shenzhen Challenger Zhangjiagang Challenger Alicante Challenger Barletta Challenger Tunis Challenger Aix En Provence Challenger Lisbon Challenger Vicenza Challenger Almaty Challenger Shymkent Challenger Blois Challenger Recanati Challenger Nur-Sultan Challenger Prague Challenger Sopot Challenger Manerbio Challenger Como Challenger Genova Challenger Szczecin Challenger Biella Challenger Florence Challenger Barcelona Challenger Lima Challenger Canberra Challenger Burnie Challenger Launceston Challenger Bergamo Challenger Pau Challenger Monterrey Challenger Todi Challenger Trieste Challenger Prostejov Challenger Barcelona Challenger Alicante Challenger Istanbul Challenger Marbella Challenger Bratislava Challenger Maia Challenger Istanbul Challenger Antalya Challenger Antalya 2 Challenger Biella 1 Challenger Gran Canaria 1 Challenger Gran Canaria 2 Challenger Biella 3 Challenger Marbella Challenger Split 2 Challenger Rome 1 Challenger Rome 2 Challenger Biella 5 Challenger Biella 7 Challenger Almaty 1 Challenger Almaty 2 Challenger Porto Challenger Perugia Challenger Todi Challenger Trieste Challenger Cordenons Challenger Prague 2 Challenger Verona Challenger Istanbul 2 Challenger Bucharest Challenger Lisbon Challenger Napoli 2 Challenger Tenerife Challenger Roanne Challenger Bendigo Challenger Forli 5 Challenger Gran Canaria Challenger Roseto Degli Abruzzi 2 Challenger Zadar Challenger Murcia Challenger Barletta Challenger Prague 1 Challenger Ostrava Challenger Prague 2 Challenger Vicenza Challenger Poznan Challenger Blois Challenger Troyes Challenger Braunschweig Challenger Verona Challenger Tampere Challenger Zug Challenger Liberec Challenger San Marino Challenger Banja Luka Challenger Toulouse Challenger Seville Challenger Istanbul Challenger Braga Challenger Alicante Challenger Ortisei Challenger Maspalomas Challenger Oeiras 1 Challenger Oeiras 2 Challenger Tenerife 1 Challenger Tenerife 2 Challenger Manama Challenger Bengaluru Challenger Pune Challenger Las Franquesas del Valles Challenger Girona Challenger Madrid Challenger Ostrava Challenger Aix En Provence Challenger Francavilla Challenger Vicenza Challenger Prostejov Challenger Perugia Challenger Poznan Challenger Zhangjiagang Challenger Targu Mures 2 Challenger M15 San Gregorio di Catania M25 Oviedo M25 Vic M25 Faro M25 Cordoba M25 Santa Margherita di Pula Campbells Hall of Fame Tennis Championships - Newport Malaysian Open - Kuala Lumpur AIG Japan Open Tennis Championships - Tokyo Open de Tenis Comunidad Valenciana - Valencia Aircel Chennai Open - Chennai SA Tennis Open - Johannesburg SAP Open - San Jose Regions Morgan Keegan Championships - Memphis Open Sabadell Atlantico - Barcelona Estoril Open - Estoril Gerry Weber Open - Halle Rakuten Japan Open - Tokyo If Stockholm Open - Stockholm Open de Tenis Comunidad Valenciana - Valencia Aircel Chennai Open - Chennai SAP Open - San Jose Regions Morgan Keegan Championships - Memphis Open Sabadell Atlantico - Barcelona Gerry Weber Open - Halle Campbell's Hall of Fame Tennis Championships - Newport PTT Thailand Open - Bangkok Rakuten Japan Open - Tokyo Brisbane International - Brisbane SAP Open - San Jose U.S. National Indoor Tennis Championships - Memphis Barcelona Open BancSabadell - Barcelona Gerry Weber Open - Halle AEGON International - Eastbourne Bet-at-home Cup - Kitzbuhel Citi Open - Washington PTT Thailand Open - Bangkok Rakuten Japan Open - Tokyo If Stockholm Open - Stockholm Valencia Open - Valencia Aircel Chennai Open - Chennai Open Sud de France - Montpellier Open 13 - Marseille Grand Prix Hassan II - Casablanca Barcelona Open BancSabadell - Barcelona Portugal Open - Oeiras Gerry Weber Open - Halle Citi Open - Washington Rakuten Japan Open - Tokyo Kremlin Cup - Moscow Swiss Indoors Basel - Basel Brisbane International - Brisbane ABN AMRO World Tennis Tournament - Rotterdam Open 13 - Marseille Grand Prix Hassan II - Casablanca BRD Nastase Tiriac Trophy - Bucharest TEB BNP Paribas Istanbul Open - Istanbul Geneva Open - Geneva AEGON Championships - London China Open - Beijing Challenger Banque Nationale - Granby St. Petersburg Open - St. Petersburg Brisbane International - Brisbane Grand Prix Hassan II - Marrakech BRD Nastase Tiriac Trophy - Bucharest Geneva Open - Geneva AEGON Championships - London St. Petersburg Open - St. Petersburg China Open - Beijing Swiss Indoors Basel - Basel Erste Bank Open - Vienna Brisbane International - Brisbane Qatar ExxonMobil Open - Doha Delray Beach Open - Delray Beach TEB BNP Paribas Istanbul Open - Istanbul Open Parc - Lyon AEGON Championships - London Suisse Open - Gstaad Citi Open - Washington Rakuten Japan Open - Tokyo Brisbane International - Brisbane Delray Beach Open - Delray Beach Barcelona Open BancSabadell - Barcelona Mercedes Cup - Stuttgart AEGON Championships - London Rakuten Japan Open - Tokyo European Open - Antwerp Erste Bank Open - Vienna Brisbane International - Brisbane ABN AMRO World Tennis Tournament - Rotterdam Dubai Duty Free Tennis Championships - Dubai Millennium Estoril Open - Estoril Mercedes Cup - Stuttgart Fever-Tree Championships - London Citi Open - Washington Qatar ExxonMobil Open - Doha New York Open - New York Delray Beach Open - Delray Beach St. Petersburg Open - St. Petersburg European Open - Antwerp Moncton Men's Challenger - Moncton Abierto Mexicano Telcel - Acapulco Dubai Duty Free Tennis Championships - Dubai Gonet Geneva Open - Geneva Truist Atlanta Open - Atlanta Anytech365 Andalucia Open - Marbella Tel Aviv Watergen Open - Tel Aviv Gijon Open - Gijon Tennis Napoli Open - Naples Barcelona Open Banc Sabadell - Barcelona Libema Open - 's-Hertogenbosch M15 Madrid Winnetka Challenger Todi Challenger M25 Vale do Lobo Vancouver Challenger Rogers Masters - Toronto Tashkent Challenger Rogers Cup - Montreal Rogers Cup - Toronto Granby Challenger BNP Paribas Open - Indian Wells Sony Ericsson Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrilena Madrid Open - Madrid Internazionali BNL d'Italia - Rome Shanghai ATP Masters - Shanghai BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Sony Ericsson Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrilena Madrid Open - Madrid Internazionali BNL d'Italia - Rome Rogers Cup - Toronto Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Sony Open Tennis - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Rogers Cup - Montreal Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Sony Open Tennis - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Rogers Cup - Toronto Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Rogers Cup - Montreal Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Sacramento Challenger Internazionali BNL d'Italia - Rome Rogers Cup - Toronto Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris Miami Open - Miami Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Rogers Cup - Montreal BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Rogers Cup - Toronto Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Coupe Rogers - Montreal BNP Paribas Masters - Paris Internazionali BNL d'Italia - Rome Western & Southern Open - New York Rolex Paris Masters - Paris Miami Open - Miami Ostrava Challenger Como Challenger M25 Gijon National Bank Men's Rimouski Challenger - Rimouski Orleans Challenger M25 Santander U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London Murcia Challenger U.S. Open - New York Australian Open - Melbourne Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Tenerife 1 Challenger Wimbledon - London U.S. Open - New York Australian Open - Melbourne Wimbledon - London U.S. Open - New York Challenger Natrel Presented by National Bank - Granby Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris U.S. Open - New York Australian Open Qualifying - Doha Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London Cordenons Challenger French Open - Paris Wimbledon - London Lyon Challenger Todi Challenger Madrid Challenger Seville Challenger Rome Challenger Budapest Challenger Bunschoten Challenger Guangzhou Challenger Cordenons Challenger Barletta Challenger Vicenza Challenger Roseto Degli Abruzzi 1 Challenger Davis Cup, Group 1, 1R, COL-CAN 4-1 Davis Cup, Americas Group I, PO, CAN-DOM 5-0 Davis Cup, Group I, 1R, MEX-CAN 1-4 Davis Cup, World Group, PO, ISR-CAN 2-3 Davis Cup, World Group, PO, CAN-RSA 4-1 Davis Cup, World Group, 1R, CAN-ESP 3-2 Davis Cup, World Group, QF, CAN-ITA 3-1 Davis Cup, World Group, SF, SRB-CAN 3-2 Hopman Cup - Perth Davis Cup, World Group, PO, CAN-COL 3-2 Davis Cup, World Group, 1R, CAN-JPN 3-2 Davis Cup, World Group, PO, CAN-NED 3-1 Laver Cup - Geneva ATP Cup - Melbourne Porto Challenger Todi Challenger Cherbourg Challenger Australian Open (juniors) French Open (juniors) Wimbledon (juniors) Forli 4 Challenger Pozoblanco Challenger AAMI Classic - Kooyong Shanghai Challenger AAMI Classic - Kooyong Seville Challenger Maspalomas Challenger Mubadala World Tennis Championship Mubadala World Tennis Championship All Lower level tournaments Modena Challenger Salzburg Challenger Olympics - London Milan Challenger Zug Challenger Napoli Challenger Oeiras 1 Challenger Quimper Challenger Valencia Open - Valencia Erste Bank Open - Vienna Shanghai Rolex Masters - Shanghai Barclays ATP World Tour Finals - London Barclays ATP World Tour Finals - London Davis Cup, World Group, 1R, CAN-FRA 1-4 Olympics - Paris